Introduction au machine learning

Les grands principes

Vous avez dit “machine learning” ?

“La bonne vieille IA”…

…VS l’apprentissage automatique

Les différents types d’apprentissage automatique

  1. L’apprentissage supervisé

  2. L’apprentissage non supervisé

  3. L’apprentissage par essai/erreur

Différence entre supervisé et non supervisé

But de l’apprentissage supervisé : la prédiction

  • \[ Y = f(X_1, X_2, ...,X_n) \]

  • Le but premier de l’apprentissage supervisé n’est pas d’expliquer mais bien de prédire.

Régression et classification

Prédire ou estimer ?

Y_prix X1_surface
logement1 1000 50
logement2 800 30
logement3 600 25
logement4 1000 60
logement5 800 35

\[ Y = 416,5 + 10,6 X_1 \]

Y_prix X1_surface prix_estime
logement1 1000 50 945.9
logement2 800 30 734.1
logement3 600 25 681.2
logement4 1000 60 1051.8
logement5 800 35 787.1
surface prix_prevu
logement6 45 892.9
logement7 30 734.1
logement8 110 1581.2

Comment la machine apprend ?

  • La machine learning apprend sur des données étiquetées grace à des algorithmes (exemple : la régression linéaire pour des don).

  • Le but de ces algorithmes est de minimiser l’erreur d’estimation.

  • Il existe de nombreux modèles/algorithmes.

Les classes de modèles

  1. Les modèles de régression

  2. Les modèles à base d’arbre

  3. Les réseaux de neurones et le deep learning

C’est quoi un “bon” apprentissage ?

Le compromis biais-variance

Autre exemple

Les grandes étapes

Les étapes de l’apprentissage supervisé :

  1. Disposer d’une base de données étiquetée adaptée au sujet

  2. Nettoyer et explorer cette base de données

  3. Réserver une partie de la base pour l’apprentissage/test

  4. Apprendre des données avec des modèles/algorithmes

  5. Comparer les performances prédictives de ces algorithmes

  6. Choisir le meilleur modèle et le mettre en production

Etape 1 : définir le problème

Régression ou classification ?

Y_REVENU X1_PATRIMOINE X2_AGE
42476 429127 59
14155 64309 96
24696 126118 41
21418 120146 74
64255 724113 38
42047 483022 43

Etape 2 : nettoyer et explorer la base

Exploration

Data summary
Name grandile
Number of rows 5418
Number of columns 3
_______________________
Column type frequency:
numeric 3
________________________
Group variables None

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Y_REVENU 0 1 33889.09 19431.26 9823 19771.50 27169.5 44531.0 116674 ▇▅▁▁▁
X1_PATRIMOINE 0 1 383070.08 641212.81 0 64779.75 124788.0 486061.8 8078209 ▇▁▁▁▁
X2_AGE 0 1 51.82 18.74 16 37.00 50.0 66.0 99 ▅▇▇▅▂

Etape 3 : Partitionner la base

Partition de la base

Partition de grandile

Data summary
Name train_grandile
Number of rows 3250
Number of columns 3
_______________________
Column type frequency:
numeric 3
________________________
Group variables None

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Y_REVENU 0 1 33478.94 19253.68 9823 19689.75 26673.5 44496.5 109241 ▇▅▂▁▁
X1_PATRIMOINE 0 1 365292.87 596248.47 0 64218.25 124411.5 482353.5 7881120 ▇▁▁▁▁
X2_AGE 0 1 51.92 18.80 16 37.00 50.0 66.0 99 ▅▇▆▅▂

Etape 4 : Entraînement des modèles

Modèle 1 : Régression linéaire

══ Workflow [trained] ══════════════════════════════════════════════════════════
Preprocessor: Recipe
Model: linear_reg()

── Preprocessor ────────────────────────────────────────────────────────────────
0 Recipe Steps

── Model ───────────────────────────────────────────────────────────────────────

Call:
stats::lm(formula = ..y ~ ., data = data)

Coefficients:
  (Intercept)  X1_PATRIMOINE         X2_AGE  
    3.993e+04      2.419e-02     -2.944e+02  

Apprentissage avec la regression linéaire

Y_prix X_surface
logement1 1000 50
logement2 800 30
logement3 600 25
logement4 1000 60
logement5 800 35

Par MCO, on trouve la fonction f :

\[ Y = 416,5 + 10,6 X \]